It is inevitable that future wireless services will support Internet Protocol (IP)-based multimedia applications. For example, current and emerging wireless networks allow (i) a user to download information from the Internet using a wireless communication device, (ii) Internet-to-mobile or mobile-to-mobile videoconferences, (iii) streaming of video or audio information (or both) from the Internet to a wireless communication device, and (iv) electronic-commerce applications. In the end-to-end path of many wireless multimedia sessions, such as an Internet-to-mobile communication, a number of heterogeneous network technologies are involved, with the multimedia packets being sent from an originating server, through the Internet and then over one or more wireless packet networks to the mobile destination.
Wireless packet networks encounter packet losses between a base station and a mobile receiver as a result of channel errors and network congestion. Furthermore, such packet losses can be random or bursty, depending on the environment, rate-of-motion and network loading. In order to accommodate the ever growing demand for advanced multimedia services, such as voice, real-time audio and video, packet data and circuit data, a number of layers in typical wireless data transmission protocols, such as the Link Access Control (LAC), Medium Access Control (MAC) and Radio Link Protocol (RLP) layers, must provide improved efficiency and reduced latency to a wide range of upper layer services.
A transmitter in a wireless packet network forms application messages into packets at the Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) layers. Thereafter, the Point-to-Point Protocol (PPP) and Internet Protocol layers add address and control header information to the packets. At the Radio Link Protocol layer, the PPP/IP packets are further segmented into multiple data frames with separate RLP headers, to accomplish physical layer transmissions.
At the receiving host, the RLP layer receives data frames from the physical layer, where data frames can be corrupted by channel errors, and evaluates the validity of the data frames. For error-free data frames, the RLP layer removes the RLP header, which contains the sequence number of the associated data frame, and forwards the data frames to the PPP layer. At the same time, corrupted data frames are discarded without being forwarded to the upper layers. Generally, the RLP layer forwards only data frames that are actually received without any errors to the higher layer in sequence order. Thus, the upper layer does not have any error information, often referred to as erasure data frame information, or the corresponding erasure data.
The immediate layer above the RLP layer is the point-to-point protocol layer. If the packet header is valid, the PPP layer forwards the packet to the TCP/UDP layer. In wireless packet networks, packet loss due to channel errors and network congestions can be recovered at the TCP layer. Specifically, the TCP layer requests retransmission of the lost packets until a correct version is received.
Non-real-time services, such as data transmissions in accordance with the File Transfer Protocol (FTP), use the TCP protocol since there is no delay constraint. Most streaming applications and real-time applications, however, including multimedia applications, have more significant delay constraints and allow a limited number of retransmissions, if any. Thus, these delay sensitive services employ a User Datagram Procotol, described, for example, in J. Postel, “User Datagram Protocol,” Request for Comments RFC 768, ISI (August 1980), incorporated by reference herein, as their transport protocol. Compared to the TCP protocol, the UDP protocol has lower overhead and no retransmission delays, which makes it attractive to delay-sensitive applications. The UDP protocol employs a cyclic redundancy check (CRC) to verify the integrity of packets, in a known manner. The UDP protocol can detect any error in the packet header or payload and discards the packet if an error is detected. As such, the UDP protocol only forwards the error free packets to the application layer, and discards the corrupted packets. Compared to the TCP protocol, the UDP protocol can detect the corrupted packets, but cannot initiate retransmission to recover the corrupted/lost packets.
Since a single TCP/UDP packet corresponds to multiple data frames, the packet loss rate seen by the TCP/UDP layer is the number of data frames times the frame loss rate. Since the TCP/UDP packets are usually much larger compared to the frame size, the packet loss seen by the TCP/UDP layer will be considerably large even for low or medium frame loss rate. For applications employing the UDP protocol, this yields poor performance and additional channel resource consumption. The inefficiency of such a protocol stack design in wireless networks arises from the fact that the erroneous data frames, once detected, are not forwarded to the UDP and application layers. Therefore, a packet is discarded when only a small portion of the packet is corrupted. This also implies that the error-free data within the packets are discarded. Indeed, current and emerging multimedia coding technologies are focusing on improved error resilience, such that the media decoder can tolerate a certain number of channel errors. Therefore, the error-free part of the packets can still be utilized by the applications. In addition, the error location information can help the application to locate the channel error and apply certain recovery and concealment techniques.